package top.hjcwzx.types.design.framework.tree;

/**
 * {@code @author} hujincheng <br/>
 * {@code @description} 策略映射器
 * T : 入参类型
 * D : 动态上下文参数
 * R : 返回参数类型
 * <br/>
 */
public interface StrategyMapper<T,D,R>{

    /**
     * 获取待执行策略
     *
     * @param requestParameter 入参
     * @param dynamicContext   上下文
     * @return 返参
     * @throws Exception 异常
     */
    StrategyHandler<T, D, R> get(T requestParameter, D dynamicContext) throws Exception;

}
